The present invention relates to storage networks and more specifically to techniques for facilitating dynamic loading of code modules in storage network application programs.
Storage area networks (or SANs) provide a flexible and scalable infrastructure for data storage that is capable of delivering any-to-any connectivity between host systems and storage devices. SANs offer several benefits over traditional server-centric storage models including improved scalability of storage resources, availability, data protection, centralized storage management, improved data access speeds, and others. SANs allow enterprises to meet the constantly changing data storage requirements of today's large and rapidly growing networks, and help relieve storage-related bottlenecks typically associated with traditional server-centric storage techniques. As a result, SANs are increasingly replacing or supplementing traditional server-centric storage implementations.
The emergence of SANs has created the need for new storage management tools and applications which perform functions such as storage partitioning, storage provisioning, allocation of storage to hosts, data replications, backup services, monitoring status of SAN devices, and other functions. In order to be effective, these applications/tools need to facilitate additions, deletions, and changes to SAN components/devices without any downtime. These SAN applications also need to facilitate software and hardware updates in a seamless manner. The applications need to be easily configurable and provide the flexibility to support new devices or newly configured SAN devices.
In light of the above, there is a need for techniques which allow SAN-related applications to facilitate changes to the SAN without having to restart the application or without having to power down the SAN.